#ifndef __BK9000_DEVICE_TYPE_H__
#define __BK9000_DEVICE_TYPE_H__

/**
 *          0x00 未知
 *          0x01 感温               (HEAT)
 *          0x02 感烟               (PHOTO)
 *          0x03 感烟 + 感温        (P/HEAT)
 *          0x04 CO                 (CO)
 *          0x05 感温 + CO          (HEAT/CO)
 *          0x06 感烟 + CO          (P/CO)
 *          0x07 感烟 + 感温 + CO   (P/H/CO)
 *          0x08 感温棒             (HEAT BATON S/R)
 *          0x09 感温棒S            (HEAT BATON S)
 *          0x0A 感温棒R            (HEAT BATON R)
 *          0x0B 离子感烟
 *          0x0C 防爆3D
 *          0x0D 本安3D
 *          0x10 未知
 *          0x11 手报               (MCP)
 *          0x12 输入(1入)          (MON)           (BK8001)
 *          0x13 输出(1出)          (CTRL)
 *          0x14 输入输出(1入1出)   (I/O MOD)
 *          0x15 声光报警           (SND/STRB)
 *          0x16 消火栓             (HYD)
 *          0x18 中继/接口          (CONV IF)
 *          0x19 4入4出(隧道)       (4DI4DO)
 *          0x80 回路卡             (LSM_2D)
 *          0x81 调试回路卡         (LSM_USB)
 */

#define BK9000_DEVICE_TYPE_HEAT           (0x01) /**< 感温               (HEAT) */
#define BK9000_DEVICE_TYPE_PHOTO          (0x02) /**< 感烟               (PHOTO) */
#define BK9000_DEVICE_TYPE_P_HEAT         (0x03) /**< 感烟 + 感温        (P/HEAT) */
#define BK9000_DEVICE_TYPE_CO             (0x04) /**< CO                 (CO) */
#define BK9000_DEVICE_TYPE_HEAT_CO        (0x05) /**< 感温 + CO          (HEAT/CO) */
#define BK9000_DEVICE_TYPE_P_CO           (0x06) /**< 感烟 + CO          (P/CO) */
#define BK9000_DEVICE_TYPE_P_H_CO         (0x07) /**< 感烟 + 感温 + CO   (P/H/CO) */
#define BK9000_DEVICE_TYPE_HB             (0x08) /**< 感温棒             (HEAT BATON S/R) */
#define BK9000_DEVICE_TYPE_HB_S           (0x09) /**< 感温棒S            (HEAT BATON S) */
#define BK9000_DEVICE_TYPE_HB_R           (0x0A) /**< 感温棒R            (HEAT BATON R) */
#define BK9000_DEVICE_TYPE_LON_PHOTO      (0x0B) /**< 离子感烟 */
#define BK9000_DEVICE_TYPE_P_H_CO_EX      (0x0C) /**< 防爆3D */
#define BK9000_DEVICE_TYPE_P_H_CO_IS      (0x0D) /**< 本安3D */
#define BK9000_DEVICE_TYPE_MCP            (0x11) /**< 手报               (MCP)          (BK8400) */
#define BK9000_DEVICE_TYPE_MON            (0x12) /**< 输入(1入)          (MON)          (BK8001) */
#define BK9000_DEVICE_TYPE_CTRL           (0x13) /**< 输出(1出)          (CTRL)         (BK8002) */
#define BK9000_DEVICE_TYPE_IO_MOD         (0x14) /**< 输入输出(1入1出)   (I/O MOD)       (BK8007) */
#define BK9000_DEVICE_TYPE_SND_STRB       (0x15) /**< 声光报警           (SND/STRB)      (BK8010) */
#define BK9000_DEVICE_TYPE_HYD            (0x16) /**< 消火栓             (HYD) */
#define BK9000_DEVICE_TYPE_RELAY          (0x18) /**< 中继/接口          (CONV IF) */
#define BK9000_DEVICE_TYPE_4DI4DO         (0x19) /**< 4入4出(隧道)       (4DI4DO) */
#define BK9000_DEVICE_TYPE_LSM_2D         (0x80) /**< 回路卡             (LSM_2D) */
#define BK9000_DEVICE_TYPE_LSM_USB        (0x81) /**< 调试回路卡         (LSM_USB) */

/**
 * @brief 判断单元类似是否为探测器
 *
 */
#define BK9000_DEVICE_TYPE_IS_DETECTOR(x) (0x00 == (x & 0xF0))
/**
 * @brief 判断单元类似是否为模块
 *
 */
#define BK9000_DEVICE_TYPE_IS_MODULE(x)   (0x01 == (x & 0xF0))

#endif /* __BK9000_DEVICE_TYPE_H__ */
